#ifndef _SAMPLEDRVADAPTOR_H_
#define _SAMPLEDRVADAPTOR_H_

#include "ap3216.h"
#include "ntc.h"

#define DRV_SAMPLE_ADAPTOR_BRIGHT_USING_AP3216C
#define DRV_SAMPLE_ADAPTOR_TEMPRATURE_USING_NTC

typedef struct 
        {
				 int (*p_sensor_init)(void);
				 int (*p_sensor_sample_value)(void);
				} sensor_drv_ops_stru;
				
#ifdef DRV_SAMPLE_ADAPTOR_BRIGHT_USING_AP3216C
#define SENSOR_BRIGHT_DRV_OPS_CONFIG_AP3216C {                                           \
	                                            .p_sensor_init = ap3216c_init,             \
	                                            .p_sensor_sample_value = ap3216c_read_als  \
                                             }
#endif

#ifdef DRV_SAMPLE_ADAPTOR_BRIGHT_USING_ABC																						 
#define SENSOR_BRIGHT_DRV_OPS_CONFIG_ABC     {                                           \
	                                            .p_sensor_init = ABC_init,                 \
	                                            .p_sensor_sample_value = ABC_read_bright   \
                                             }
#endif

#ifdef DRV_SAMPLE_ADAPTOR_TEMPRATURE_USING_NTC																			 
#define SENSOR_TEMPRATURE_DRV_OPS_CONFIG_NTC     {                                              \
	                                                .p_sensor_init = NTC_Init,                    \
	                                                .p_sensor_sample_value = NTC_Get_Temprature   \
                                                 }
#endif

#ifdef DRV_SAMPLE_ADAPTOR_TEMPRATURE_USING_ABC																								 
#define SENSOR_TEMPRATURE_DRV_OPS_CONFIG_ABC     {                                              \
	                                                .p_sensor_init = ABC_Init,                    \
	                                                .p_sensor_sample_value = ABC_Get_Temprature   \
                                                 }
#endif

//.....
																								 
extern sensor_drv_ops_stru Sensor_Temprature_Ops;
extern sensor_drv_ops_stru Sensor_Bright_Ops;		

extern void SampleDrv_Init();																						 


#endif
